Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Έχω θέμα με το RichTextBox

Îåêßíçóå áðü ôï ìÝëïò AlKiS. Τελευταία δημοσίευση από το μέλος AlKiS στις 14-02-2012, 14:02. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  10-02-2012, 23:58 69244

    Έχω θέμα με το RichTextBox

    Γεια σε όλους :)

    Παίζω με κάτι RichTextBoxes.. και θέλω να αποθηκεύσω αυτά που έχουν σε αρχείο.

    Όταν το κάνω για το καθένα ξεχωριστά, όλα ΟΚ

    όταν πάω να αποθηκεύσω και τα 2 μαζί όμως, αρχίζει η ιστορία.. ο κώδικάς μου είναι ο εξής:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
        Private Sub mniEEverythingRTF_Click(sender As System.Object, e As System.EventArgs) Handles mniEEverythingRTF.Click
            sfdExport.FileName = ""
            sfdExport.InitialDirectory = strSaveDir
            sfdExport.DefaultExt = ".rtf"
            sfdExport.FileName = RemMniHotLetter(mniExportEverything) & ".rtf"
            sfdExport.Filter = "Rich Text Format|*.rtf|All Files|*.*"
            Dim SaveDialogResult As DialogResult = sfdExport.ShowDialog()
    
            If SaveDialogResult = Windows.Forms.DialogResult.OK Then
                Dim tmpRichTextBox As New RichTextBox
                tmpRichTextBox.Rtf = rtbWorkgroup.Rtf & vbCrLf & vbCrLf & rtbOutput.Rtf
                tmpRichTextBox.SaveFile(sfdExport.FileName)
                MsgBox(txtLanguage.Lines(80) & RemMniHotLetter(mniExportEverything) & txtLanguage.Lines(81) & sfdExport.FileName) ' has been successfully saved on: 
            End If
    
        End Sub

    Η γραμμή νούμερο 11 λέει ξεκάθαρα ότι το κείμενο του tmp θα γίνει το κείμενο των 2 άλλων! και μετά θα σώσει τα πάντα.

    Αλλά γίνεται το κείμενο μόνο του πρώτου (όποιο κι αν είναι το πρώτο, δοκίμασα και το rtbOutput σαν πρώτο, τα ίδια..)

    Αν αντί για  rtbWorkgroup.Rtf, βάλω να προσθέτονται τα .Text τότε, κάνει ένα αρχείο το οποίο είναι εντελώς κενό..



  •  14-02-2012, 11:00 69330 σε απάντηση της 69244

    Απ: Έχω θέμα με το RichTextBox

    Για να ενώσεις δυο RTB σε ένα δεν προσθέτεις απλά τα Rtf διότι η μορφή τους είναι περίπλοκη (σαν να ενώσεις τα bytes δυο pdf αρχείων-το αποτέλεσμα δεν θα είναι σωστό pdfSmile):

                tmpRichTextBox.Rtf = rtbWorkgroup.Rtf;
                tmpRichTextBox.AppendText("\r\n");
                tmpRichTextBox.Select(tmpRichTextBox.TextLength, 0);
                tmpRichTextBox.SelectedRtf = rtbOutput.Rtf;
    
                tmpRichTextBox.SaveFile(filePath);

  •  14-02-2012, 14:02 69331 σε απάντηση της 69330

    Απ: Έχω θέμα με το RichTextBox

    Σχεδόν δούλεψε :)

    Τώρα υπάρχουν και τα 2 κείμενα, ναι.

    αλλά το "tmpRichTextBox.AppendText("\r\n")" δεν δουλεύει όπως θα έπρεπε.

    αντί να κάνει (δεν ξέρψ τι) με το "\r, και να αφήνει μια γραμμή με το "\n", μου τα προσθέτει σαν κείμενο μέσα και κολάν τα 2 rtf με το "\r\n" στη μέση...


    nvm, το άλλαξα σε αυτό:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
        Private Sub mniEEverythingRTF_Click(sender As System.Object, e As System.EventArgs) Handles mniEEverythingRTF.Click
            sfdExport.FileName = ""
            sfdExport.InitialDirectory = strSaveDir
            sfdExport.DefaultExt = ".rtf"
            sfdExport.FileName = RemMniHotLetter(mniExportEverything) & ".rtf"
            sfdExport.Filter = "Rich Text Format|*.rtf|All Files|*.*"
            Dim SaveDialogResult As DialogResult = sfdExport.ShowDialog()
    
            If SaveDialogResult = Windows.Forms.DialogResult.OK Then
                Dim tmpRichTextBox As New RichTextBox
                Dim NextLine As New RichTextBox With {.Text = vbCrLf & vbCrLf}
                tmpRichTextBox.Rtf = rtbOutput.Rtf
                tmpRichTextBox.Select(tmpRichTextBox.TextLength, 0)
                tmpRichTextBox.SelectedRtf = NextLine.Rtf
                tmpRichTextBox.Select(tmpRichTextBox.TextLength, 0)
                tmpRichTextBox.SelectedRtf = rtbWorkgroup.Rtf
                tmpRichTextBox.SaveFile(sfdExport.FileName)
                MsgBox(txtLanguage.Lines(80) & RemMniHotLetter(mniExportEverything) & txtLanguage.Lines(81) & sfdExport.FileName) ' has been successfully saved on: 
            End If
    
        End Sub

    δουλεύει μια χαρά τώρα :)

    ευχαριστώ! 


Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems